import Vue from 'vue'
// 全局变量
const globalObj = {};

// 定义公共变量
globalObj.name = '小明';
globalObj.college = [{
    key: 0,
    value: '信息工程学院',
    label: '信息工程学院'
}, {
    key: 1,
    value: '环境与资源学院',
    label: '环境与资源学院'
}, {
    key: 2,
    value: '材料科学与工程学院',
    label: '材料科学与工程学院'
}, {
    key: 3,
    value: '制造科学与工程学院',
    label: '制造科学与工程学院'
}, {
    key: 4,
    value: '土木工程与建筑学院',
    label: '土木工程与建筑学院'
}, {
    key: 5,
    value: '生命科学与工程学院/农学院',
    label: '生命科学与工程学院/农学院'
}, {
    key: 6,
    value: '计算机科学与技术学院',
    label: '计算机科学与技术学院'
}, {
    key: 7,
    value: '国防科技学院',
    label: '国防科技学院'
}, {
    key: 8,
    value: '理学院',
    label: '理学院'
}, {
    key: 9,
    value: '经济管理学院',
    label: '经济管理学院'
}, {
    key: 10,
    value: '法学院',
    label: '法学院'
}, {
    key: 11,
    value: '文学与艺术学院',
    label: '文学与艺术学院'
}, {
    key: 12,
    value: '外国语学院',
    label: '外国语学院'
}, {
    key: 13,
    value: '马克思主义学院',
    label: '马克思主义学院'
}, {
    key: 14,
    value: '体育学科部',
    label: '体育学科部'
}, {
    key: 15,
    value: '应用技术学院',
    label: '应用技术学院'
}];
globalObj.major = [
    //信息工程学院
    [{
        value: '自动化',
        label: '自动化'
    }, {
        value: '电子信息工程',
        label: '电子信息工程'
    }, {
        value: '生物医学工程',
        label: '生物医学工程'
    }, {
        value: '通信工程',
        label: '通信工程'
    }, {
        value: '电气工程及其自动化',
        label: '电气工程及其自动化'
    }, {
        value: '物联网工程',
        label: '物联网工程'
    }, {
        value: '人工智能',
        label: '人工智能'
    }],
    //环境与资源学院
    [{
        value: '地质工程',
        label: '地质工程'
    }, {
        value: '安全工程',
        label: '安全工程'
    }, {
        value: '环境工程',
        label: '环境工程'
    }, {
        value: '交通工程',
        label: '交通工程'
    }, {
        value: '采矿工程',
        label: '采矿工程'
    }, {
        value: '地理信息科学',
        label: '地理信息科学'
    }, {
        value: '测绘工程',
        label: '测绘工程'
    }, {
        value: '矿物加工工程',
        label: '矿物加工工程'
    }],
    //材料科学与工程学院
    [{
        value: '材料科学与工程',
        label: '材料科学与工程'
    }, {
        value: '材料物理',
        label: '材料物理'
    }, {
        value: '应用化学',
        label: '应用化学'
    }, {
        value: '功能材料',
        label: '功能材料'
    }, {
        value: '能源化学工程',
        label: '能源化学工程'
    }],
    //制造科学与工程学院
    [{
        value: '机械设计制造及自动化',
        label: '机械设计制造及自动化'
    }, {
        value: '过程装备与控制工程',
        label: '过程装备与控制工程'
    }, {
        value: '材料成型与控制工程',
        label: '材料成型与控制工程'
    }, {
        value: '工业工程',
        label: '工业工程'
    }, {
        value: '工业设计',
        label: '工业设计'
    }],
    //土木工程与建筑学院
    [{
        value: '土木工程',
        label: '土木工程'
    }, {
        value: '建筑学',
        label: '建筑学'
    }, {
        value: '城乡规划',
        label: '城乡规划'
    }, {
        value: '工程力学',
        label: '工程力学'
    }, {
        value: '工程管理',
        label: '工程管理'
    }, {
        value: '建筑环境与能源应用工程',
        label: '建筑环境与能源应用工程'
    }, {
        value: '工程造价',
        label: '工程造价'
    }],
    //生命科学与工程学院/农学院
    [{
        value: '生物技术',
        label: '生物技术'
    }, {
        value: '农学',
        label: '农学'
    }, {
        value: '动物科学',
        label: '动物科学'
    }, {
        value: '园艺',
        label: '园艺'
    }, {
        value: '生物工程',
        label: '生物工程'
    }, {
        value: '食品科学与工程',
        label: '食品科学与工程'
    }, {
        value: '制药工程',
        label: '制药工程'
    }],
    //计算机科学与技术学院
    [{
        value: '计算机科学与技术',
        label: '计算机科学与技术'
    }, {
        value: '软件工程',
        label: '软件工程'
    }, {
        value: '信息安全',
        label: '信息安全'
    }, {
        value: '医学影像',
        label: '医学影像'
    }],
    //国防科技学院
    [{
        value: '核工程与核技术',
        label: '核工程与核技术'
    }, {
        value: '辐射防护与核安全',
        label: '辐射防护与核安全'
    }, {
        value: '信息对抗技术',
        label: '信息对抗技术'
    }, {
        value: '特种能源技术与工程',
        label: '特种能源技术与工程'
    }, {
        value: '核化工与核燃料工程',
        label: '核化工与核燃料工程'
    }],
    //理学院
    [{
        value: '信息与计算科学',
        label: '信息与计算科学'
    }, {
        value: '光电信息科学与工程',
        label: '光电信息科学与工程'
    }, {
        value: '数学与应用数学',
        label: '数学与应用数学'
    }, {
        value: '应用物理学',
        label: '应用物理学'
    }],
    //经济管理学院
    [{
        value: '电子商务',
        label: '电子商务'
    }, {
        value: '工商管理大类',
        label: '工商管理大类'
    }, {
        value: '公共事业管理',
        label: '公共事业管理'
    }, {
        value: '管理科学与工程类',
        label: '管理科学与工程类'
    }, {
        value: '国际经济与贸易',
        label: '国际经济与贸易'
    }, {
        value: '会计学ACCA',
        label: '会计学ACCA'
    }, {
        value: '经济学',
        label: '经济学'
    }, {
        value: '物流管理',
        label: '物流管理'
    }],
    //法学院
    [{
        value: '法学',
        label: '法学'
    }, {
        value: '知识产权',
        label: '知识产权'
    }, {
        value: '应用心理学',
        label: '应用心理学'
    }],
    //文学与艺术学院
    [{
        value: '汉语言文学',
        label: '汉语言文学'
    }, {
        value: '汉语国际教育',
        label: '汉语国际教育'
    }, {
        value: '广播电视学',
        label: '广播电视学'
    }, {
        value: '音乐表演',
        label: '音乐表演'
    }, {
        value: '音乐学',
        label: '音乐学'
    }, {
        value: '视觉传达设计',
        label: '视觉传达设计'
    }, {
        value: '环境设计',
        label: '环境设计'
    }],
    //外国语学院
    [{
        value: '英语',
        label: '英语'
    }, {
        value: '西班牙语',
        label: '西班牙语'
    }, {
        value: '日语',
        label: '日语'
    }, {
        value: '翻译',
        label: '翻译'
    }, {
        value: '商务英语',
        label: '商务英语'
    }],
    //马克思主义学院
    [{
        value: '政治学与行政学',
        label: '政治学与行政学'
    }, {
        value: '思想政治教育',
        label: '思想政治教育'
    }],
    //体育学科部
    [{
        value: '社会体育指导与管理',
        label: '社会体育指导与管理'
    }],
    //应用技术学院
    [{
        value: '法律事务',
        label: '法律事务'
    }, {
        value: '计算机信息管理',
        label: '计算机信息管理'
    }, {
        value: '工商企业管理',
        label: '工商企业管理'
    }, {
        value: '会计',
        label: '会计'
    }, {
        value: '经济信息管理',
        label: '经济信息管理'
    }, {
        value: '建筑工程技术',
        label: '建筑工程技术'
    }, {
        value: '机电一体化技术',
        label: '机电一体化技术'
    }], [
        {}
    ]
]
globalObj.status = {
    hasFoundSingle: false,
    hasFoundMany: false,
    isEdit: false,
    ifEdit: false,
    add: false,
    search: false,
    update: false,
    delete: false,
    loading: true,
    student: false
}
globalObj.userInfo = {
    roles: "",
    permission: [],
    id: null,
    userName: ""
}
globalObj.graduatesInfoTemp = {}
globalObj.employmentInfoTemp = {}
globalObj.archivesInfoTemp = {}


// 定义公共方法
globalObj.isObjectValueEqual = function (a, b) {
    let aProps = Object.getOwnPropertyNames(a);
    let bProps = Object.getOwnPropertyNames(b);

    if (aProps.length !== bProps.length) {
        return false;
    }

    for (let i = 0; i < aProps.length; i++) {
        let propName = aProps[i];
        if (propName==='__ob__'){
            continue
        }
        if (a[propName] !== b[propName]) {
            return false;
        }
    }
    return true;
};
globalObj.objectValueAtoB = function (a, b) {
    let aProps = Object.keys(a);
    for (let i = 0; i < aProps.length; i++) {
        let propName = aProps[i];
        Vue.set(b, propName, a[propName]);
    }
}
globalObj.resetObject = function (a) {
    for (let i in a) {
        a[i] = null
    }
}
export default globalObj
